<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
      <title>Tagged with arduino nano - Processing 2.x and 3.x Forum</title>
      <link>https://forum.processing.org/two/discussions/tagged/feed.rss?Tag=arduino+nano</link>
      <pubDate>Sun, 08 Aug 2021 18:32:40 +0000</pubDate>
         <description>Tagged with arduino nano - Processing 2.x and 3.x Forum</description>
   <language>en-CA</language>
   <atom:link href="/two/discussions/taggedarduino+nano/feed.rss" rel="self" type="application/rss+xml" />
   <item>
      <title>Arduino NANO and Firmata - Analog Pin Numbers</title>
      <link>https://forum.processing.org/two/discussion/25077/arduino-nano-and-firmata-analog-pin-numbers</link>
      <pubDate>Sat, 18 Nov 2017 17:10:10 +0000</pubDate>
      <dc:creator>kli</dc:creator>
      <guid isPermaLink="false">25077@/two/discussions</guid>
      <description><![CDATA[<p>Dear community,
I need to address all pins (digital and analog) of my Arduino NANO via Firmata. My Arduino Sketch is one for multiple circuits (educational purpose) and I changed all the Axxx-pins in the .pde-Sketch (see below) according to the pin map A0=14, A1=15 etc. but I got an error message for pin 18 (out of range) and I don't know how to address A6 and A7 because there are no digital numbers in the pin map for them. I tried to just use the numbers without A (A2=2 ...) but this doesn't work for me because there are conflicts with the digital pins and the use of same pin numbers.
Can anyone help me how to address ALL pins by numbers? And: do I have to change the StandardFirmata to use it for the NANO and to use all the pins? 
Thanks in advance.
KLI</p>

<pre><code>import processing.serial.*;

import cc.arduino.*;

Arduino arduino;
//Arduino.INPUTs:
 int AND_1a = 14;
 int AND_1b = 15;
 int XOR_a = 16;
 int XOR_b = 17;
 int AND_2a = 18;
 int AND_2b = 19;
 int NOT_In = 6;
 int Poti = 7;
 int OR_a = 2;
 int OR_b = 7;

//Arduino.OUTPUTs:
 int AND_1 = 4;
 int XOR = 5;
 int Tank_Anzeige = 6;
 int Schwell_030 = 3;
 int Schwell_50100 = 8;
 int Schwell_70100 = 9;
 int Schwell_020 = 10;
 int AND_2 = 11;
 int NOT = 12;
 int OR = 13;

//Variablen:
int PotiWert = 0;
int Summer_Intervall = 500;           //Summer an Pin 7
int Status = Arduino.LOW;
double Warten;


void setup() {
  //Arduino.INPUTs:
   arduino = new Arduino(this, Arduino.list()[0], 57600);
  arduino.pinMode (AND_1a, Arduino.INPUT);
  arduino.pinMode (AND_1b, Arduino.INPUT);
  arduino.pinMode (XOR_a, Arduino.INPUT);
  arduino.pinMode (XOR_b, Arduino.INPUT);
  arduino.pinMode (AND_2a, Arduino.INPUT);
  arduino.pinMode (AND_2b, Arduino.INPUT);
  arduino.pinMode (NOT_In, Arduino.INPUT);
  arduino.pinMode (Poti, Arduino.INPUT);
  arduino.pinMode (OR_a, Arduino.INPUT);
  arduino.pinMode (OR_b, Arduino.INPUT);

  //Arduino.OUTPUTs:
  arduino.pinMode (AND_1, Arduino.OUTPUT);
  arduino.pinMode (XOR, Arduino.OUTPUT);
  arduino.pinMode (Tank_Anzeige, Arduino.OUTPUT);
  arduino.pinMode (Schwell_030, Arduino.OUTPUT);
  arduino.pinMode (Schwell_50100, Arduino.OUTPUT);
  arduino.pinMode (Schwell_70100, Arduino.OUTPUT);
  arduino.pinMode (Schwell_020, Arduino.OUTPUT);
  arduino.pinMode (AND_2, Arduino.OUTPUT);
  arduino.pinMode (NOT, Arduino.OUTPUT);
  arduino.pinMode (OR, Arduino.OUTPUT);

  Warten = millis();
}

void draw() {

  //alle Logikgatter:

  //NOT:
  if (arduino.analogRead (NOT_In) &gt; 1000) {
    arduino.digitalWrite (NOT, Arduino.LOW);
  }

  else {
    arduino.digitalWrite (NOT, Arduino.HIGH);
  }

  //OR:
  if (arduino.digitalRead (OR_a) == 1 || arduino.digitalRead (OR_b) == 1) {
    arduino.digitalWrite (OR, Arduino.HIGH);
  }
  else {
    arduino.digitalWrite (OR, Arduino.LOW);
  }

  //AND_1:
  if (arduino.analogRead (AND_1a) &gt; 1000 &amp;&amp; arduino.analogRead (AND_1b) &gt; 1000) {
    arduino.digitalWrite (AND_1, Arduino.HIGH);
  }
  else {
    arduino.digitalWrite (AND_1, Arduino.LOW);
  }

  //AND_2:
  if (arduino.analogRead (AND_2a) &gt; 1000 &amp;&amp; arduino.analogRead (AND_2b) &gt; 1000) {
    arduino.digitalWrite (AND_2, Arduino.HIGH);
  }
  else {
    arduino.digitalWrite (AND_2, Arduino.LOW);
  }

  //XOR:
  if ((arduino.analogRead(XOR_a) &gt; 1000 &amp;&amp; arduino.analogRead(XOR_b) &lt; 1000) || (arduino.analogRead(XOR_a) &lt; 1000 &amp;&amp; arduino.analogRead(XOR_b) &gt; 1000) ) {
    arduino.digitalWrite (XOR, Arduino.HIGH);
  }

  else {
    arduino.digitalWrite (XOR, Arduino.LOW);
  }


  //Poti-Auswertung:
  PotiWert = arduino.analogRead(Poti);

  //Schwellenwert-Schalter 0...30%
  if (PotiWert &lt; 200) {
    arduino.digitalWrite (Schwell_030, Arduino.HIGH);
  }

  else {
    arduino.digitalWrite (Schwell_030, Arduino.LOW);
  }


  //Schwellenwert-Schalter 50...100%
  if (PotiWert &gt; 511) {
    arduino.digitalWrite (Schwell_50100, Arduino.HIGH);
  }

  else {
    arduino.digitalWrite (Schwell_50100, Arduino.LOW);
  }


  //Schwellenwert-Schalter 70...100%
  if (PotiWert &gt; 700) {
    arduino.digitalWrite (Schwell_70100, Arduino.HIGH);
  }

  else {
    arduino.digitalWrite (Schwell_70100, Arduino.LOW);
  }


  //Tankanzeige: dunkler werdende LED - PotiWert = hoch -&gt; LED = hell
  arduino.analogWrite (Tank_Anzeige, (PotiWert / 4));

  if (PotiWert &lt; 100) {
    arduino.digitalWrite (Tank_Anzeige, Arduino.LOW);
  }


  //Tankanzeige: frequentierter Ausgang
  if (PotiWert &lt; 100) {
    if ((millis() - Warten) &gt; Summer_Intervall) {
      Warten = millis();
      if(Status==Arduino.LOW){
        Status=Arduino.HIGH;}
        else {
          Status=Arduino.LOW;}

      arduino.digitalWrite (Schwell_020, Status);
    }
  }

  else {
    arduino.digitalWrite (Schwell_020, Arduino.LOW);
  }
}_
</code></pre>
]]></description>
   </item>
   </channel>
</rss>